/**
 *  一句话思路：
    算法描述：
    解决所需数据结构+算法：
**/
#include<iostream>
using namespace std;

bool isPrime(int x) {
    for(int i=2; i*i<=x; i++) {
        if(x % i == 0)  return false;
    }
    return true;
}

int main() {
    int n, ans = 0, len = 0;
    cin >> n;
    for(int i=2; i<=n; i++) {
        if(isPrime(i)) {
            ans += i;
            if(ans > n)    break;
            len++;
            cout << i << endl;
        }
    }
    cout << len << endl;

    return 0;
}